package cn.diancan.util;

import org.junit.Test;

/**
 * 经纬度计算工具类
 * @author Administrator
 *
 */
public class Distance {
	
	/** 根据经纬度计算距离
	 *  用法如下：select  *,"+Distance.getDistanceSql(lat, lng)+" as distance  from shop
	 * @param lat
	 * @param lng
	 * @return
	 */
	public static String getDistanceSql(String lat,String lng){
		if(lat==null || lat.length()==0 || lng==null || lng.length()==0){
			return "0";
		}
		
		return "(2 * 6371004* ASIN(SQRT(POW(SIN(PI() * ("+lat+" - latitude)/360), 2) + COS(PI() * "+lat+" / 180) * COS(latitude * PI() / 180) * POW(SIN(PI() * ("+lng+" - longitude) / 360), 2))))";
	}
	
	@Test
	public void test() {
		System.out.println(Distance.getDistanceSql("28.021526", "120.687583"));
	}
	
}
